|
Packit Service |
eebd6f |
import React from "react";
|
|
Packit Service |
eebd6f |
import { Button, Form, Popover, Text, TextInput } from "@patternfly/react-core";
|
|
Packit Service |
eebd6f |
import { OutlinedQuestionCircleIcon } from "@patternfly/react-icons";
|
|
Packit Service |
eebd6f |
import { FormattedMessage, defineMessages, injectIntl, intlShape } from "react-intl";
|
|
Packit Service |
eebd6f |
import PropTypes from "prop-types";
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
const ariaLabels = defineMessages({
|
|
Packit Service |
eebd6f |
imageName: {
|
|
Packit Service |
eebd6f |
defaultMessage: "Image name help",
|
|
Packit Service |
eebd6f |
},
|
|
Packit Service |
eebd6f |
bucket: {
|
|
Packit Service |
eebd6f |
defaultMessage: "S3 Bucket help",
|
|
Packit Service |
eebd6f |
},
|
|
Packit Service |
eebd6f |
region: {
|
|
Packit Service |
eebd6f |
defaultMessage: "AWS region help",
|
|
Packit Service |
eebd6f |
},
|
|
Packit Service |
eebd6f |
});
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
class AWSDestinationStep extends React.PureComponent {
|
|
Packit Service |
eebd6f |
render() {
|
|
Packit Service |
eebd6f |
const { formatMessage } = this.props.intl;
|
|
Packit Service |
eebd6f |
const { imageName, setImageName, uploadSettings, setUploadSettings } = this.props;
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
return (
|
|
Packit Service |
eebd6f |
<>
|
|
Packit Service |
eebd6f |
<Text className="help-block cc-c-form__required-text">
|
|
Packit Service |
eebd6f |
<FormattedMessage defaultMessage="All fields are required." />
|
|
Packit Service |
eebd6f |
</Text>
|
|
Packit Service |
eebd6f |
<Form isHorizontal className="cc-m-wide-label">
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
<label htmlFor="image-name-input" className="pf-l-flex__item">
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
<FormattedMessage defaultMessage="Image name" />
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
*
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
</label>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
id="image-name-popover"
|
|
Packit Service |
eebd6f |
bodyContent={
|
|
Packit Service |
eebd6f |
<>
|
|
Packit Service |
eebd6f |
<FormattedMessage defaultMessage="Provide a file name to be used for the image file that will be uploaded." />
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
aria-label={formatMessage(ariaLabels.imageName)}
|
|
Packit Service |
eebd6f |
>
|
|
Packit Service |
eebd6f |
<Button variant="plain" aria-label={formatMessage(ariaLabels.imageName)}>
|
|
Packit Service |
eebd6f |
<OutlinedQuestionCircleIcon id="popover-icon" />
|
|
Packit Service |
eebd6f |
</Button>
|
|
Packit Service |
eebd6f |
</Popover>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
className="pf-c-form-control"
|
|
Packit Service |
eebd6f |
value={imageName}
|
|
Packit Service |
eebd6f |
type="text"
|
|
Packit Service |
eebd6f |
id="image-name-input"
|
|
Packit Service |
eebd6f |
onChange={setImageName}
|
|
Packit Service |
eebd6f |
/>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
<label htmlFor="bucket-input" className="pf-l-flex__item">
|
|
Packit Service |
eebd6f |
Amazon S3 bucket
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
*
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
</label>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
id="bucket-popover"
|
|
Packit Service |
eebd6f |
bodyContent={
|
|
Packit Service |
eebd6f |
<>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
defaultMessage="
|
|
Packit Service |
eebd6f |
Provide the S3 {bucket} name to which the image file will be uploaded before being imported into EC2.
|
|
Packit Service |
eebd6f |
The {bucket} must already exist in the Region where you want to import your image. You can find a list of {buckets} on the
|
|
Packit Service |
eebd6f |
{bucketsPage} page in the {amazon} S3 storage service in the AWS console.
|
|
Packit Service |
eebd6f |
"
|
|
Packit Service |
eebd6f |
values={{
|
|
Packit Service |
eebd6f |
bucket: "bucket",
|
|
Packit Service |
eebd6f |
buckets: "buckets",
|
|
Packit Service |
eebd6f |
bucketsPage: S3 buckets,
|
|
Packit Service |
eebd6f |
amazon: "Amazon",
|
|
Packit Service |
eebd6f |
}}
|
|
Packit Service |
eebd6f |
/>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
aria-label={formatMessage(ariaLabels.bucket)}
|
|
Packit Service |
eebd6f |
>
|
|
Packit Service |
eebd6f |
<Button variant="plain" aria-label={formatMessage(ariaLabels.bucket)}>
|
|
Packit Service |
eebd6f |
<OutlinedQuestionCircleIcon id="popover-icon" />
|
|
Packit Service |
eebd6f |
</Button>
|
|
Packit Service |
eebd6f |
</Popover>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
className="pf-c-form-control"
|
|
Packit Service |
eebd6f |
value={uploadSettings.bucket}
|
|
Packit Service |
eebd6f |
type="text"
|
|
Packit Service |
eebd6f |
id="bucket-input"
|
|
Packit Service |
eebd6f |
name="bucket"
|
|
Packit Service |
eebd6f |
onChange={setUploadSettings}
|
|
Packit Service |
eebd6f |
/>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
<label htmlFor="region-input" className="pf-l-flex__item">
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
<FormattedMessage defaultMessage="AWS region" />
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
*
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
</label>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
id="region-popover"
|
|
Packit Service |
eebd6f |
bodyContent={
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
defaultMessage="Provide the AWS Region where you want to import your image. This must be the same region where the {bucket} exists."
|
|
Packit Service |
eebd6f |
values={{
|
|
Packit Service |
eebd6f |
bucket: "S3 bucket",
|
|
Packit Service |
eebd6f |
}}
|
|
Packit Service |
eebd6f |
/>
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
aria-label={formatMessage(ariaLabels.region)}
|
|
Packit Service |
eebd6f |
>
|
|
Packit Service |
eebd6f |
<Button variant="plain" aria-label={formatMessage(ariaLabels.region)}>
|
|
Packit Service |
eebd6f |
<OutlinedQuestionCircleIcon id="popover-icon" />
|
|
Packit Service |
eebd6f |
</Button>
|
|
Packit Service |
eebd6f |
</Popover>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
className="pf-c-form-control"
|
|
Packit Service |
eebd6f |
value={uploadSettings.region}
|
|
Packit Service |
eebd6f |
type="text"
|
|
Packit Service |
eebd6f |
id="region-input"
|
|
Packit Service |
eebd6f |
name="region"
|
|
Packit Service |
eebd6f |
onChange={setUploadSettings}
|
|
Packit Service |
eebd6f |
/>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
</Form>
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
);
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
}
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
AWSDestinationStep.propTypes = {
|
|
Packit Service |
eebd6f |
intl: intlShape.isRequired,
|
|
Packit Service |
eebd6f |
imageName: PropTypes.string,
|
|
Packit Service |
eebd6f |
setUploadSettings: PropTypes.func,
|
|
Packit Service |
eebd6f |
setImageName: PropTypes.func,
|
|
Packit Service |
eebd6f |
uploadSettings: PropTypes.object,
|
|
Packit Service |
eebd6f |
};
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
AWSDestinationStep.defaultProps = {
|
|
Packit Service |
eebd6f |
imageName: "",
|
|
Packit Service |
eebd6f |
uploadSettings: {},
|
|
Packit Service |
eebd6f |
setImageName() {},
|
|
Packit Service |
eebd6f |
setUploadSettings() {},
|
|
Packit Service |
eebd6f |
};
|
|
Packit Service |
eebd6f |
|
|
Packit Service |
eebd6f |
export default injectIntl(AWSDestinationStep);
|